perm filename T5.SAI[AL,HE] blob
sn#500998 filedate 1980-03-19 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "t5"
C00006 ENDMK
C⊗;
BEGIN "t5"
REQUIRE "DPYSUB.HDR[SUB,SYS]" SOURCE_FILE;
DEFINE CRLF="('15&'12)",
! = "COMMENT ",
TIL="STEP 1 UNTIL";
define ttyset = "'047000400121";
INTEGER POG;
INTEGER ARRAY DISPLY[1:'3000];
PROCEDURE GRAPH (STRING des; REAL a,b,c,d,e,f);
BEGIN "graph"
INTEGER I;
REAL DX,DY,MAX,MIN,x,y;
STRING COM2;
DEFINE X0 = -400; ! Graph orgin;
DEFINE Y0 = -260;
DEFINE NX = 800; ! Axis lengths;
DEFINE NY = 700;
DEFINE range = 70;
SETFORMAT(1,0);
DPYSET(DISPLY);
MIN ← -range;
MAX ← range;
DX ← NX DIV (101-1); ! Scale the axes;
DY ← NY DIV (MAX-MIN);
MKSCALE(X0,Y0,DX,0,100,0,100," Time"); ! Draw the axes;
MKSCALE(X0,Y0,0,DY,40,MIN,MAX," "&des);
AIVECT(X0,dy*(f-MIN)+Y0); ! Graph it;
FOR I ← 1 STEP 1 UNTIL 100 DO
AVECT(dx*I+X0,
dy*(a*(i/100.)↑5+b*(i/100.)↑4+c*(i/100.)↑3+d*(i/100.)↑2+e*(i/100.)+f-MIN)+Y0);
DPYBIG(2);
AIVECT(-200,-316);
SETFORMAT(1,3);
DPYSST("("&CVF(a)&","&CVF(b)&","&CVF(c)&","&CVF(d)&","&CVF(e)&","&CVF(f)&")");
TYPLOC(-340,-500);
DPYOUT(POG);
quick_code
hrroi 1,['004000000120]; comment [004000,,"P"];
ttyset 1, ; ! this last stuff does an esc-P;
end;
END "graph";
STRING com,cop;
REAL a,b,c,v0,v1,dp;
INTEGER i;
POG←GETPOG;
com ← "p 0.0 0.0 10.0";
WHILE (com LOR '40) ≠ "e" DO
BEGIN
PRINT(crlf&"command V0 V1 ∂P :");
LODED(com&crlf);
cop ← com ← INCHWL;
v0 ← REALSCAN(cop,i);
v1 ← REALSCAN(cop,i);
dp ← REALSCAN(cop,i);
a ← 6*dp-3*v1-3*v0;
b ← -15*dp+7*v1+8*v0;
c ← 10*dp-4*v1-6*v0;
CASE (com LOR '40) OF
BEGIN
["p"] GRAPH("Position",a,b,c,0.0,v0,0.0);
["v"] GRAPH("Velocity",0.0,5*a,4*b,3*c,0.0,v0);
["a"] GRAPH("Acceleration",0.0,0.0,20*a,12*b,6*c,0.0);
["g"] GRAPH("Polynomial",v0,v1,dp,REALSCAN(cop,i),REALSCAN(cop,i),REALSCAN(cop,i));
["e"] PRINT("BYE");
ELSE print("?")
END;
END;
quick_code
hrroi 1,['004000000516]; comment [004000,,'400+"N"];
ttyset 1, ; ! this last stuff does a brk-N;
end;
CALL(0,"EXIT");
END "t5";